package com.baizhi.homework;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class TestMap {
    public static void main(String[] args) {
        Map<String,Student> map = new HashMap<>();
        map.put("001",new Student("李娜",18));
        map.put("002",new Student("白玉石",22));
        map.put("003",new Student("杨磊",26));
        map.put("004",new Student("安辉",29));


        /*
        //遍历方式一： 通过key获取value
        //1. 第一步：获取所有的key的集合
        Set<String> set = map.keySet();
        //2. 第二步：遍历所有的Key,
        for(String key:set){
            //3.第三步：通过key获取value
            Student value = map.get(key);
            //4. 打印
            System.out.println(value);
        }





        //遍历方式二： 获取键值对对象
        //1. 第一步获取所有的键值对对象集合
        Set<String> ss = new HashSet();

        Set<Map.Entry<String, Student>> entries = map.entrySet();
        //2. 第二步：遍历键值对集合
        for (Map.Entry<String, Student> entry : entries) {
            //3. 第三步：获取所有的键，获取所有的值
            //String key = entry.getKey();
            Student value = entry.getValue();
            //4. 打印
            System.out.println(value);
        }
    */



        //遍历方式三: forEarch遍历
//        map.forEach(new BiConsumer<String, Student>() { //匿名内部类
//            @Override
//            public void accept(String key, Student value) {
//                System.out.println(value);
//            }
//        });

    //    map.forEach((k,v)-> System.out.println(v));


        // 方式四： 只要value的信息
        Collection<Student> values = map.values();
        for (Student value : values) {
            System.out.println(value);
        }


        Scanner scan = new Scanner(System.in);
        System.out.println("请输入学生学号：");
        String str = scan.next();
        Student student = map.get(str);
        if(student==null){
            System.out.println("您要搜索的学生信息不存在");
        }else{
            System.out.println(student);
        }


    }
}
